문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 SK컴즈 개인정보 유출 사건 (문단 편집) === 주민등록번호 등 개인정보 관련 내용 === 주민등록번호는 암호처럼 사용자 입력과 같은지 확인만 하면 되는 게 아니라 데이터 자체를 저장할 필요가 있으므로 해쉬 알고리즘이 아닌 암호화를 이용한다. 즉 키값을 이용해서 암호화-복호화가 가능한 양방향 알고리즘을 적용한다. SK컴즈 측에서는 주민번호의 경우에는 '''최신 기술이자 국제 표준인 128-bit key AES로 암호화'''했기 때문에 현재의 기술로는 절대 해독을 못할 것이라 밝혔다. 하지만 이에 대해서 보안업계의 반응은 엇갈리고 있다. 만약 해킹하는 과정에 키값째로 털렸으면 그냥 보안이고 나발이고 없이 그대로 복호화할 수 있는 상황이다. [[http://news.naver.com/main/read.nhn?mode=LSD&mid=sec&sid1=101&oid=009&aid=0002514250|또한 128-bit key AES가 은 SK컴즈의 발표와는 달리 최신 기술이 아니라는 논란이 있다]]. 비판하는 쪽에서는 현재 128-bit key AES은 취약점이 다수 발견되었고 공격 방법 등도 여럿 발견된 알고리즘이라고 비판한다. 게다가 분산 컴퓨팅을 통해 128-bit key AES의 키를 털어버린 사례도 있어서 AES의 취약점이 제기된 이후 미국 [[NSA]]에서는 AES 개발자 및 업계 관계자들과 함께 분석한 결과 128-bit key AES의 보안성에 문제가 있음을 인정하고 절대 털리면 안 되는 고급 보안 자료는 192-bit key AES나 256-bit key AES 사용을 권장하였다. 그러나 AES의 취약점이나 공격 방법이라는 것은 side-channel attack이라는, 암호 그 자체가 아닌 암호화/복호화를 하는 시스템을 공격하는 방식이다. 예컨대 몇몇 특정 메시지를 암호화하는데 걸리는 시간을 측정해서 키를 추정하는 식이다. 아니면 최근에는 차분 공격이라는 방식으로 '암호화를 직접 수행하는' 칩에 물리적으로 접근하여 고의적으로 오류를 발생시켜 AES를 무용지물화 시키는 방법들에 대한 논문들이 2012년에 속속 등장하고 있다. 이러한 공격은 동일한 알고리즘이라도 어떤 방식으로 구현되었는지에 따라 통할 수도 있고 통하지 않을 수도 있으므로 일괄적으로 말하기 어렵지만 암호문 자체만이 유출된 경우에 적용할 수 있는 종류의 공격은 아니다. 즉 이번 사건과 같은 경우에 대해서라면 AES는 충분히 안전하다고 할 수 있다. 더군다나 side-channel 공격은 아직 개념증명(Proof of Concept) 단계에서 크게 벗어나지 못하고 있어서 '확실한 대 AES 공격법은 아니다' 라는 게 아직까지의 일반적인 정론. 마찬가지로 128-bit AES도 암호 자체를 통해서 키가 노출된 바는 없으며 128-bit key를 사용하지 않도록 권고하는 것은 빠른 속도로 발전하는 컴퓨팅 환경과 앞으로 개발될지도 모르는 다른 공격법을 대비하는 차원에서이지 128-bit AES에 대한 유효한 공격법이 이미 발견되었기 때문은 아니다. 128-bit AES를 깰 방법이 이미 발견되었다면 한가하게 192/256 비트 키를 이용할 것을 '''권장'''하는 게 아니라 128-bit AES의 사용을 즉시 '''중단'''했을 것이다.[* 물론 아직까지도 DES 같은 경우에는 현재의 컴퓨팅 파워로는 짧은 시간에 공격할 수 있는 방법이 있음에도 완전히 사라지지 않았다.] 또 다른 비판으로는 설령 키값을 털리지 않았더라도 [[주민등록번호]]는 단순히 13자리 숫자, 게다가 일정한 규칙이 있는 값으로만 구성되어 있기 때문에 무작위 대입법이나 사전 공격에 매우 약한 구조라는 것. 이 점은 다소 논란의 여지가 있다. 우선 사전 공격이나 무작위 대입법은 MD5 등의 해쉬값에 적용되는 것이며[* Rainbow Table이라는 아주 훌륭한 게 있다.] 암호 알고리즘에서는 이러한 공격은 '메시지의 패턴과 관계없이' 불가능해야 정상이다. 다만 암호 알고리즘을 제대로 적용하려면 모든 자료를 암호학적으로 충분히 무작위적인 값(cryptographic random value)을 적용해서 암호화했어야 하는데 이는 어렵지 않은 일이지만 실제 프로그램에서는 C의 rand()의 결과를 무작위적인 값으로 이용하는 등의 실책[* C의 rand() 함수는 일반적인 기준으로는 그런대로 무작위라고 할 수 있지만 암호학적인 관점에서는 충분히 무작위라고 할 수 없다. 암호학적으로 충분히 무작위인 결과를 얻으려면 arc4random()을 이용하는 등의 다른 방법을 써야 한다. 아니면 아에 initial vector값을 시스템 자체에서 변조시키든지 하는 방법도 있다.]을 저지르는 경우가 가끔 발견되기 때문에 공격받을 가능성도 없지는 않다. 뭐 사실 현존하는 모든 암호학 알고리즘에서 Brute Force(전수 조사)에 걸리지 않는 알고리즘 하나 없고 아무리 국제 표준이라고 해도 그건 말 그대로 당시 컴퓨터 기준으로 충분히 뚫리지 않을 수 있다는 거지 시간이 지나면 뚫린다. 실제로 과거 사용했던 DES나 3-DES의 경우 당시에 전수조사는 거의 힘들다는 소리가 있었으나 요즘은 그냥 답이 없다. 취약점도 나와있고[* 참고로 알고리즘을 제작한 사람은 만들 당시 이 취약점에 대해서 알고 있었다고 전해진다.] 심지어 전수조사를 해도 당시와 비교해서 연산 속도의 차이가 안드로메다라서...저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기